package com.cloudfast.demo;


import com.cloudfast.common.echarts.EchartsResult;
import com.cloudfast.common.result.ApiResponse;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
public class EchartsController {

    /**
     * @return
     */
    @PostMapping("echartsData")
    public ApiResponse list() {
        List<Map<String, Object>> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            Map<String, Object> map = new HashMap<>();
            map.put("name", "第" + i + "个名称");
            map.put("value", new SecureRandom().nextInt(10000));
            list.add(map);
        }
        EchartsResult EchartsResult = new EchartsResult();
        EchartsResult.addData("测试", list);
        return ApiResponse.success(EchartsResult);
    }


    /**
     * @return
     */
    @PostMapping("echartsData2")
    public ApiResponse list2() {
        EchartsResult EchartsResult = new EchartsResult();
        for (int x = 0; x < 2; x++) {
            List<Map<String, Object>> list2 = new ArrayList<>();
            for (int i = 0; i < 10; i++) {
                Map<String, Object> map = new HashMap<>();
                map.put("name", "第" + i + "个名称");
                map.put("value", new SecureRandom().nextInt(10000));
                list2.add(map);
            }
            EchartsResult.addData("测试" + x, list2);

        }

        return ApiResponse.success(EchartsResult);
    }

    @PostMapping("sex")
    public ApiResponse sex() {
        EchartsResult EchartsResult = new EchartsResult();
        List<Map<String, Object>> list2 = new ArrayList<>();
        Map<String, Object> map = new HashMap<>();
        map.put("name", "男");
        map.put("value", new SecureRandom().nextInt(10000));
        list2.add(map);
        map = new HashMap<>();
        map.put("name", "女");
        map.put("value", new SecureRandom().nextInt(10000));
        list2.add(map);
        EchartsResult.addData("性别", list2);


        return ApiResponse.success(EchartsResult);
    }

    @PostMapping("sbq")
    public ApiResponse sbq() {
        EchartsResult EchartsResult = new EchartsResult();
        List<Map<String, Object>> list2 = new ArrayList<>();
        Map<String, Object> map = new HashMap<>();
        map.put("name", "男");
        map.put("value", new SecureRandom().nextDouble());
        list2.add(map);
        map = new HashMap<>();
        map.put("name", "女");
        map.put("value", new SecureRandom().nextDouble());
        list2.add(map);
        EchartsResult.addData("性别", list2);


        return ApiResponse.success(EchartsResult);
    }


    @PostMapping("mapData")
    public ApiResponse mapData() {
        EchartsResult EchartsResult = new EchartsResult();
        List<Map<String, Object>> list2 = new ArrayList<>();
        List<String> names = new ArrayList<>();
        names.add("广东省");
        names.add("浙江省");
        names.add("北京市");
        names.add("江苏省");
        names.add("山东省");
        names.add("四川省");
        names.add("黑龙江省");
        names.add("吉林省");
        names.add("辽宁省");
        names.add("河北省");
        names.add("天津市");
        names.add("山西省");
        names.add("陕西省");
        names.add("甘肃省");
        names.add("宁夏省");
        names.add("青海省");
        names.add("新疆维吾尔自治区");
        names.add("西藏自治区");
        names.add("重庆市");
        names.add("河南省");
        names.add("安徽省");
        names.add("湖北省");
        names.add("福建省");
        names.add("江西省");
        names.add("湖南省");
        names.add("贵州省");
        names.add("云南省");
        names.add("广东省");
        names.add("广西省");
        names.add("海南省");
        names.add("上海市");
        names.add("内蒙古自治区");

        for (int i = 0; i < names.size(); i++) {
            Map<String, Object> map = new HashMap<>();
            map.put("name", names.get(i));
            map.put("value", new SecureRandom().nextInt(10000));
            list2.add(map);
        }

        EchartsResult.addData("地图", list2);
        return ApiResponse.success(EchartsResult);
    }
}
